/*
 * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
 * under one or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information regarding copyright
 * ownership. Camunda licenses this file to you under the Apache License,
 * Version 2.0; you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

'use strict';

module.exports = [
  '$scope',
  '$q',
  '$location',
  'Uri',
  'Notifications',
  'AuthorizationResource',
  '$uibModalInstance',
  'authorizationToDelete',
  'formatPermissions',
  'getResource',
  'getType',
  function(
    $scope,
    $q,
    $location,
    Uri,
    Notifications,
    AuthorizationResource,
    $modalInstance,
    authorizationToDelete,
    formatPermissions,
    getResource,
    getType
  ) {
    var DELETE_SUCCESS = 'SUCCESS';

    $scope.authorizationToDelete = authorizationToDelete;

    $scope.formatPermissions = formatPermissions;
    $scope.getResource = getResource;
    $scope.getType = getType;

    $scope.$on('$routeChangeStart', function() {
      $modalInstance.close($scope.status);
    });

    $scope.close = function(status) {
      $modalInstance.close(status);
    };

    $scope.performDelete = function() {
      AuthorizationResource.delete({action: authorizationToDelete.id})
        .$promise.then(function() {
          $scope.status = DELETE_SUCCESS;
        })
        .catch(function() {});
    };
  }
];
